package com.sywl.ytcx.controller.admin;

import com.sywl.ytcx.config.UserContentVO;
import com.sywl.ytcx.entity.res.ResponseResult;
import com.sywl.ytcx.service.UserService;
import com.sywl.ytcx.util.VerTokenUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.Objects;
import java.util.concurrent.CompletableFuture;

@Controller("userAdminController")
@RequestMapping("/api/admin/user")
@RestController
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 获取用户创作数据
     * @param userId 用户ID
     * @return CompletableFuture<ResponseResult> 响应结果
     */
    @GetMapping("/content/{userId}")
    public CompletableFuture<ResponseResult> getContent(@PathVariable int userId) {
        // 调用异步方法，立即释放 Tomcat 线程
        return userService.getUserContent(userId);
    }


    /**
     * 查询所有用户喜好标签
     * @return 通用响应
     */
    @GetMapping("/all")
    public ResponseResult all() {
        return userService.getAllUserLikeTags();
    }

    /**
     * 根据用户ID 查询该用户的喜好标签
     * @param authorization 请求头中的 JWT Token
     * @return 通用响应
     */
    @GetMapping("/userLikeTag/{userId}")
    public ResponseResult byUser(@PathVariable int userId) {
        return userService.getUserLikeTagsByUserId(userId);
    }
}
